import React, { useState } from 'react';
import ReactDOM from 'react-dom';

class App extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      count: 0,
    };
  }
  componentDidMount() {
    this.setState({ count: this.state.count + 1 });
    console.log(this.state.count); // 第一次输出
    this.setState({ count: this.state.count + 1 });
    console.log(this.state.count); // 第二次输出
    setTimeout(() => {
      this.setState({ count: this.state.count + 1 });
      console.log(this.state.count); // 第三次输出
      this.setState({ count: this.state.count + 1 });
      console.log(this.state.count); // 第四次输出
    }, 0);
  }
  // 18版本之前 0 0 2 3 注意这里在批量更新（有一个合并的过程，设置同样的setState，只执行一次）的过程，
  // 18版本：0 0 1 1 这个版本默认开启批量更新机制
  render() {
    return <div>{this.state.count}</div>;
  }
}
ReactDOM.render(<App />, document.getElementById('root'));
